import axios from 'axios';
import {getAccessToken, removeCurrentUser, removeToken} from '@/utils/auth'
import router from '@/router';
// import router from '@/router';
// import errorHandler from '@/utils/errorHandler';
import { Message } from 'element-ui';
// import router from '@/router';


const service = axios.create({
  baseURL: 'http://localhost:28080',
  // 172.16.22.158:3306
  //  baseURL: 'http://106.14.177.206:28080',
  timeout: 5000
});

service.interceptors.request.use(
  config => {
    // 在请求发送之前对请求数据进行处理
    if (getAccessToken() ) {
      config.headers['Authorization'] = 'Bearer ' + getAccessToken() // 让每个请求携带自定义token 请根据实际情况自行修改
    }
    
    return config;
  },
  error => {
    // 对请求错误做些什么
    
    console.log(error);
    // errorHandler(error);
    return Promise.reject(error);
  }
);

service.interceptors.response.use(
  response => {
    // 对响应数据进行处理
    // ...
    if(response.data.code==401){
      Message.error(response.data.msg)
      removeToken();
      removeCurrentUser();
      router.push("/login")
      
    }

    return response.data;
  },
  error => {
    // 对响应错误做些什么
  
    console.log(error);
    // if(data) Message.error(data.message)
    // if(error.code&&error.code==="ERR_NETWORK"){
    //   router.push('/error/'+error.message)
    //   return ;
    // }

    // if(error.response&&error.response.status&&error.response.status==401){
    // //   // alert
    //   Message.error("请确认权限或重新登录")
    // //   // router.push('login')
    //   removeToken();
    //   router.push('/login')
    //   return ;
    // }
    // else if(error.response.status==500){
    //   if(error.response.data&&error.response.data.status==500504) Message.error(error.response.data.message) 
    // }
 
    return Promise.reject(error);
      
      // isErrorMessageDisplayed = true;
  }
);

export default service;